From 5b6313f16f508882a0ea67716b7dbaa1c6967f04 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Mon, 30 Jun 2025 08:28:13 +0000 Subject: (대표님) 20250630 16시 - 유저 도메인별 라우터 분리와 보안성검토 대응 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../(engineering)/budgetary-rfq/page.tsx | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 app/[lng]/engineering/(engineering)/budgetary-rfq/page.tsx (limited to 'app/[lng]/engineering/(engineering)/budgetary-rfq/page.tsx') diff --git a/app/[lng]/engineering/(engineering)/budgetary-rfq/page.tsx b/app/[lng]/engineering/(engineering)/budgetary-rfq/page.tsx new file mode 100644 index 00000000..dc2a4a2b --- /dev/null +++ b/app/[lng]/engineering/(engineering)/budgetary-rfq/page.tsx @@ -0,0 +1,86 @@ +import * as React from "react" +import { type SearchParams } from "@/types/table" + +import { getValidFilters } from "@/lib/data-table" +import { Skeleton } from "@/components/ui/skeleton" +import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton" +import { Shell } from "@/components/shell" + +import { searchParamsCache } from "@/lib/rfqs/validations" +import { getRfqs, getRfqStatusCounts } from "@/lib/rfqs/service" +import { RfqsTable } from "@/lib/rfqs/table/rfqs-table" +import { getAllItems } from "@/lib/items/service" +import { RfqType } from "@/lib/rfqs/validations" +import { Ellipsis } from "lucide-react" + +interface RfqPageProps { + searchParams: Promise; + rfqType: RfqType; + title: string; + description: string; +} + +export default async function RfqPage({ + searchParams, + rfqType = RfqType.PURCHASE_BUDGETARY, + title = "Budgetary Quote", + description = "Budgetary Quote를 등록하여 요청 및 응답을 관리할 수 있습니다." +}: RfqPageProps) { + const search = searchParamsCache.parse(await searchParams) + + const validFilters = getValidFilters(search.filters) + + const promises = Promise.all([ + getRfqs({ + ...search, + filters: validFilters, + rfqType // 전달받은 rfqType 사용 + }), + getRfqStatusCounts(rfqType), // rfqType 전달 + getAllItems() + ]) + + return ( + +
+
+
+

+ {title} +

+

+ {description} + 기본적인 정보와 RFQ를 위한 아이템 등록 및 첨부를 한 후, + + + 버튼 + 을 클릭하면 "Proceed"를 통해 상세화면으로 이동하여 진행할 수 있습니다. +

+
+
+
+ + }> + {/* */} + + + } + > + + +
+ ) +} \ No newline at end of file -- cgit v1.2.3